Since the birth of the Internet, the Internet application providers have been pursuing to provide faster and more convenient service experience for users. In such process, many technologies have been developed, such as domain name system (DNS), and content distribute network (CDN), etc.
DNS is configured to name computers and network services that are organized into a hierarchy of domains, and is the most important infrastructure service system of the Internet. The appearance of DNS may allow users to access the Internet more conveniently without remembering the IP strings that can be directly read by a machine. The conversion between the domain names and the IP strings is called domain name resolution, and the host computer that executes such function is called a DNS server. When a user inputs a domain name into an application program, the DNS service may resolve the domain name into other related information corresponding to the domain name, such as the IP address, thereby fulfilling the access to the website.
Based on the DNS system, a plurality of service systems are derived to improve the Internet access speed, such as various traffic scheduling systems. One of the most well-known traffic scheduling and allocating system is the content distribution network (CDN).
The primary task of CDN is to transmit content from source servers to clients as quickly as possible. The CDN technology is an effective approach that first emerges and rapidly develops in the United States in recent years for solving the issues of poor Internet performance and excessive delay in content delivery. The principle idea of CDN is to avoid bottlenecks and steps over the Internet that may affect the speed and stability of data transmission, thereby allowing the content transmission to be faster and better. Through the content distribute network constituted by edge node servers placed all over the Internet, the user access request may be re-directed to the best edge node that is the nearest to the users in real-time based on comprehensive information such as the network traffic, the load condition of each edge node, the distance from the edge node to the user, and the response time, etc. By adding a global scheduling layer to the existing network architecture, the system may distribute the source server content to the network edge nearest to the user. Thus, the user may obtain the desired content as nearest as possible, the situation of Internet congestion may be overcome, and the response speed of the website accessed by the user may be improved. Accordingly, the issue of slow response speed of the website accessed by the user that is caused by the small egress bandwidth of the source server, a large amount of user access, uneven distribution of the network nodes, the complex service provider network, and the small ingress bandwidth of user access network may be solved.
The existing scheduling systems often rely on the static strategies, i.e., via a plurality of DNS mapping tables. Through such DNS mapping tables, different domain name coverage regions may be differentiated, and the access traffic may be directed to different nodes based on the DNS mapping tables. Though such solution may solve a great amount of website traffic allocating issues, the following drawbacks still exist.
1. The static strategies based the DNS mapping table cost a lot of manpower for maintenance and adjustments, and the adjustments may not be timely enough.
2. The strategies may be too fixed, and are strictly divided based on the regional service provider, such that user may not access the best node.
3. The standard of constructing the accurate strategies is high, which may be gradually realized by technicians with rich experience after continuous long-term optimization.